diff options
| author | Fuwn <[email protected]> | 2024-04-19 00:42:32 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-04-19 00:42:32 -0700 |
| commit | 5f1a33093f86760707daee3725e017407350a5fc (patch) | |
| tree | adf06ca2f05d669b121850a27beb988d1e56eb07 /src/routes/user/[user] | |
| parent | fix(preferences): allow empty biography (diff) | |
| download | due.moe-5f1a33093f86760707daee3725e017407350a5fc.tar.xz due.moe-5f1a33093f86760707daee3725e017407350a5fc.zip | |
fix(badges): fix badge selection
Diffstat (limited to 'src/routes/user/[user]')
| -rw-r--r-- | src/routes/user/[user]/badges/+page.svelte | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte index f45ee1e7..7db57cd1 100644 --- a/src/routes/user/[user]/badges/+page.svelte +++ b/src/routes/user/[user]/badges/+page.svelte @@ -504,6 +504,13 @@ <Skeleton grid={true} count={100} width="150px" height="170px" /> {:then ungroupedBadges} + {@const isBadgeSelected = + selectedBadge && + selectedBadge !== undefined && + selectedBadge.image && + selectedBadge.image !== undefined && + !editMode} + <div id="badges"> {#await awcPromise then badges} {#await badges.clone().text() then text} @@ -551,8 +558,7 @@ <div class="card"> <button on:click={() => { - if (editMode) selectedBadge = undefined; - + selectedBadge = undefined; editMode = !editMode; }} > @@ -563,8 +569,7 @@ <span style="margin: 0 0.625rem;">•</span> <button on:click={() => { - if (importMode) selectedBadge = undefined; - + selectedBadge = undefined; importMode = !importMode; }} > @@ -575,8 +580,7 @@ <span style="margin: 0 0.625rem;">•</span> <button on:click={() => { - if (migrateMode) selectedBadge = undefined; - + selectedBadge = undefined; migrateMode = !migrateMode; }} > @@ -585,8 +589,7 @@ <span style="margin: 0 0.625rem;">•</span> <button on:click={() => { - if (hideMode) selectedBadge = undefined; - + selectedBadge = undefined; hideMode = !hideMode; }} > @@ -829,15 +832,17 @@ {/if} </div> - <Popup - fullscreen - show={selectedBadge !== undefined && selectedBadge.image !== undefined && !editMode} - onLeave={() => { - selectedBadge = undefined; - }} - > - <BadgePreview badge={selectedBadge} /> - </Popup> + {#if isBadgeSelected} + <Popup + fullscreen + show={isBadgeSelected} + onLeave={() => { + selectedBadge = undefined; + }} + > + <BadgePreview badge={selectedBadge} /> + </Popup> + {/if} {:catch} <Popup fullscreen locked>Could not parse badges</Popup> {/await} |